﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace KAKA.Models
{
    public class MemberIndexModel
    {
        public IEnumerable<MemberModel> Members { get; set; }
    }

    public class MemberModel
    {
        public string Id { get; set; }

        [Display(Name = "QQ")]
        public string QQ { get; set; }

        [Display(Name = "昵称")]
        public string Nickname { get; set; }

        [Display(Name = "性别")]
        public string GenderValue { get; set; }

        [Display(Name = "生日")]
        [DataType(DataType.Date)]
        public string Birthday { get; set; }

        [Display(Name = "年龄")]
        public string Age { get; set; }

        [Display(Name = "身高")]
        public string Height { get; set; }

        [Display(Name = "婚姻状态")]
        public string Marry { get; set; }

        [Display(Name = "子女情况")]
        public string Child { get; set; }

        [Display(Name = "教育情况")]
        public string Education { get; set; }

        [Display(Name = "省")]
        public string Province { get; set; }

        [Display(Name = "市")]
        public string City { get; set; }

        [Display(Name = "省")]
        public string RegisteredProvince { get; set; }

        [Display(Name = "市")]
        public string RegisteredCity { get; set; }

        [Display(Name = "职业类型")]
        public string Occupation { get; set; }

        [Display(Name = "基本收入")]
        public string Income { get; set; }

        [Display(Name = "交友方式")]
        public string FriendType { get; set; }

        [Display(Name = "属相")]
        public string Zodiac { get; set; }

        [Display(Name = "体重")]
        public string Weight { get; set; }

        [Display(Name = "血型")]
        public string Blood { get; set; }

        [Display(Name = "星座")]
        public string Asterism { get; set; }

        [Display(Name = "民族")]
        public string Nation { get; set; }

        [Display(Name = "宗教")]
        public string Religion { get; set; }

        [Display(Name = "国籍")]
        public string Nationality { get; set; }

        [Display(Name = "健康状况")]
        public string Health { get; set; }

        [Display(Name = "是否吸烟")]
        public string Smoke { get; set; }

        [Display(Name = "是否喝酒")]
        public string Drink { get; set; }

        [Display(Name = "作息习惯")]
        public string Life { get; set; }

        [Display(Name = "锻炼习惯")]
        public string Exercise { get; set; }

        [Display(Name = "婚后是否要子女")]
        public string Dink { get; set; }

        [Display(Name = "是否独生子女")]
        public string Singleton { get; set; }

        [Display(Name = "是否单亲家庭")]
        public string Monotropic { get; set; }

        [Display(Name = "居住情况")]
        public string Living { get; set; }

        [Display(Name = "购车情况")]
        public string Car { get; set; }

        [Display(Name = "购房情况")]
        public string House { get; set; }

        [Display(Name = "公司行业")]
        public string Trade { get; set; }

        [Display(Name = "公司类型")]
        public string TradeType { get; set; }

        [Display(Name = "工作状态")]
        public string WorkState { get; set; }

        [Display(Name = "收入描述")]
        public string IncomeDetail { get; set; }

        [Display(Name = "公司名称")]
        public string Company { get; set; }

        [Display(Name = "部门")]
        public string Department { get; set; }

        [Display(Name = "职务")]
        public string Duty { get; set; }

        [Display(Name = "其他投资")]
        public string Investment { get; set; }

        [Display(Name = "毕业院校")]
        public string School { get; set; }

        [Display(Name = "专业")]
        public string Major { get; set; }

        [Display(Name = "真爱宣言")]
        public string Declaration { get; set; }

        [Display(Name = "选择头像")]
        public string Portrait { get; set; }

        public bool HasCrierion { get; set; }
        public string AgeMin { get; set; }
        public string AgeMax { get; set; }
        public bool HasPhotograph { get; set; }
        public bool OnlyGrade { get; set; }
        public string LimitProvince { get; set; }
        public string LimitCity { get; set; }
        public string HeightMin { get; set; }
        public string HeightMax { get; set; }

        public int TotalPhotos { get; set; }
        public List<PhotographModel> Photos { get; set; }

    }

    public class CriterionModel
    {
        public string Id { get; set; }
        [Display(Name = "最小年龄"), Range(18, 65)]
        public string AgeMin { get; set; }
        [Display(Name = "最大年龄"), Range(18, 65)]
        public string AgeMax { get; set; }
        [Display(Name = "最小身高"), Range(140, 230)]
        public string HeightMin { get; set; }
        [Display(Name = "最大身高"), Range(140, 230)]
        public string HeightMax { get; set; }
        [Display(Name = "婚姻状况")]
        public string Marry { get; set; }
        [Display(Name = "教育状况")]
        public string Education { get; set; }
        [Display(Name = "及以上")]
        public bool EducationOver { get; set; }
        [Display(Name = "有照片")]
        public bool Photograph { get; set; }
        [Display(Name = "仅会员")]
        public bool Grade { get; set; }
        [Display(Name = "居住地")]
        public string Province { get; set; }
        [Display(Name = "市")]
        public string City { get; set; }
        [Display(Name = "其他要求")]
        [StringLength(100, ErrorMessage = "其他要求请限制在100个字符之内。")]
        public string Comment { get; set; }
    }

    public class SearchModel : CriterionModel
    {
        public bool Searched { get; set; }
    }

    public class GalleryModel
    {
        public string Id { get; set; }
        public string Nickname { get; set; }
    }

}